#include <vector>
#include "Query_Preprocessor.h"
class QueryOptimizer
{
	

public:
int optimizeClause(vector<suchThatClause>& tempSuchThat, vector<int> &suchThatMapping);
int sortByClauseWeight(vector<suchThatClause>& tempSuchThat, vector<int>& clauseDependency,int left,int right);
void merge(vector<int>& mergeResult,vector<suchThatClause>& tempSuchThat,int left,int right, int middle);
};